home *** CD-ROM | disk | FTP | other *** search
/ CD Fun House 1 / CD Fun House (Wayzata Technology).iso / •Games Parlour• / •Yahtzee• / Hyper Yahtzee 3.0 •••• / Hyper Yahtzee 3.0 ееее / card_3049.txt < prev    next >
Text File  |  1990-09-08  |  44KB  |  1,918 lines

  1. -- card: 3049 from stack: in.0 –µ–µ–µ–µ
  2. -- bmap block id: 0
  3. -- flags: 4000
  4. -- background id: 2620
  5. -- name: 
  6. ----- HyperTalk script -----
  7. function gameon
  8. return the short name of btn 21="Abandon Game"
  9. end gameon
  10.  
  11. on holdfull
  12.   global scoreval
  13.   put 0 into whatnot
  14.   put 0 into whatnot1
  15.   put false into doneit
  16.   repeat with loop=6 down to 1
  17.     if item loop of scoreval>loop then if item loop of scoreval<4*loop then if doneit then put loop into whatnot1
  18.     else
  19.       put loop into whatnot
  20.       put true into doneit
  21.     end if
  22.   end repeat
  23.   if doneit then
  24.     clickonnot2 whatnot,whatnot1
  25.     exit holdfull
  26.   end if
  27. end holdfull
  28.  
  29. on holdlstraight
  30.   global dicepos
  31.   put empty into t1
  32.   put empty into t2
  33.   put dicepos into dicepos1
  34.   repeat with loop=1 to 5
  35.     add item loop of dicepos to t1
  36.     add item loop+1 of dicepos to t2
  37.   end repeat
  38.   if t1>t2 then put 0 into item 6 of dicepos1
  39.   else put 0 into item 1 of dicepos1
  40.   repeat with loop1=1 to 5
  41.     if item ((icon of btn loop1)-2999) of dicepos1=0 then click at loc of btn loop1
  42.     else put 0 into item ((icon of btn loop1)-2999) of dicepos1
  43.   end repeat
  44. end holdlstraight
  45.  
  46. on holdsstraight
  47.   global dicepos
  48.   put empty into t1
  49.   put empty into t2
  50.   put empty into t3
  51.   put dicepos into dicepos1
  52.   repeat with loop=1 to 4
  53.     add item loop of dicepos to t1
  54.     add item loop+1 of dicepos to t2
  55.     add item loop+2 of dicepos to t3
  56.   end repeat
  57.   put 0 into mx
  58.   if t1>mx then
  59.     put t1 into mx
  60.     put 1 into h
  61.   end if
  62.   if t2>=mx then
  63.     put t2 into mx
  64.     put 2 into h
  65.   end if
  66.   if t3>mx then
  67.     put t3 into mx
  68.     put 3 into h
  69.   end if
  70.   if h=3 then
  71.     put 0 into item 1 of dicepos1
  72.     put 0 into item 2 of dicepos1
  73.   else
  74.     if h=2 then
  75.       put 0 into item 1 of dicepos1
  76.       put 0 into item 6 of dicepos1
  77.     else
  78.       put 0 into item 5 of dicepos1
  79.       put 0 into item 6 of dicepos1
  80.     end if
  81.   end if
  82.   repeat with loop1=1 to 5
  83.     if item ((icon of btn loop1)-2999) of dicepos1=0 then click at loc of btn loop1
  84.     else put 0 into item ((icon of btn loop1)-2999) of dicepos1
  85.   end repeat
  86. end holdsstraight
  87.  
  88. on rollchance
  89.   repeat with loop=1 to 5
  90.     if (icon of btn loop)-2999<5 then click at loc of btn loop
  91.   end repeat
  92. end rollchance
  93.  
  94. on tryforlg
  95.   global dicepos
  96.   put offset("1,1,1,1",dicepos) div 2 + 1 into temp
  97.   put 0 into item (temp+3) mod 6 + 1 of dicepos
  98.   put 0 into item (temp+4) mod 6 + 1 of dicepos
  99.   repeat with loop=1 to 5
  100.     if item (icon of btn loop)-2999 of dicepos=0 then
  101.       click at loc of btn loop
  102.       exit tryforlg
  103.     else
  104.       put 0 into item (icon of btn loop)-2999 of dicepos
  105.     end if
  106.   end repeat
  107. end tryforlg
  108.  
  109. on rollwhat roll
  110.   global dicepos, scoreval, rollfor, mac
  111.   put line 1 of card field mac is not empty and line 2 of card field mac is not empty and line 3 of card field mac is not empty and line 4 of card field mac is not empty and line 5 of card field mac is not empty and line 6 of card field mac is not empty into topfull
  112.   put line 7 of field mac is empty into upperbonus
  113.   put line 9 of field mac is empty into threeofakind
  114.   put line 10 of field mac is empty into fourofakind
  115.   put line 11 of field mac is empty into fullhouse
  116.   put line 12 of field mac is empty into shortstraight
  117.   put line 13 of field mac is empty into largestraight
  118.   put line 14 of field mac is empty into yahtzee
  119.   put line 15 of field mac is empty into chance
  120.  
  121.   if rollfor is not empty then
  122.     if (icon of btn item 1 of rollfor)-2999 <> item 2 of rollfor then click at loc of btn item 1 of rollfor
  123.     exit rollwhat
  124.   end if
  125.   -- decide what's worth holding ... from 1 to 5 dice
  126.  
  127.   -- if we have a small straight and lg str is free then try
  128.   -- for a large straight and we have got the upperbonus
  129.  
  130.   if largestraight then if (not upperbonus or topfull) or shortstraight then if calcss()<>0 then
  131.     tryforlg
  132.     exit rollwhat
  133.   end if
  134.  
  135.   -- CHECK IF WE HAVE 4 or 3 OF A KIND AND ROLL THE FIFTH FOR YAHTZEE
  136.   -- IF WE HAVE IT FREE OR IF 4 OF A KIND IS FREE OR 1-6 POS IS FREE
  137.  
  138.   put false into doneit
  139.   repeat with loop=6 down to 1
  140.     put score1to6(loop) into item loop of scoreval
  141.     if item loop of scoreval>3*loop then
  142.       -- we have four of a kind
  143.       if line 10 of field mac is empty or line 14 of field mac is empty or line loop of field mac is empty then
  144.         clickonnot(loop)
  145.         exit rollwhat
  146.       end if
  147.     end if
  148.     if item loop of scoreval>2*loop then
  149.       -- we have 3 of a kind
  150.       if (threeofakind and loop>3) or (line loop of field mac is empty and upperbonus) or (fourofakind and loop>3) then
  151.         clickonnot(loop)
  152.         exit rollwhat
  153.       end if
  154.     end if
  155.   end repeat
  156.   put 0 into whatnot
  157.   put 0 into whatnot1
  158.   put false into doneit
  159.   repeat with loop=6 down to 1
  160.     if item loop of scoreval>loop then if line loop of field mac is empty then if doneit then
  161.       if roll=1 and fullhouse then
  162.         put loop into whatnot1
  163.       end if
  164.     else
  165.       put loop into whatnot
  166.       put true into doneit
  167.     end if
  168.   end repeat
  169.   if doneit then
  170.     clickonnot2 whatnot,whatnot1
  171.     exit rollwhat
  172.   end if
  173.  
  174.   -- RANDOM if we have a small straight and lg str is free then try
  175.   -- for a large straight and we have not got the upperbonus
  176.  
  177.   if random(2)=1 and (topfull or upperbonus) then if largestraight and calcss()<>0 then
  178.     tryforlg
  179.     exit rollwhat
  180.   end if
  181.  
  182.   -- Hold 1 of a free one in 1's to 6's if we have not got upper bonus
  183.   if upperbonus and not topfull then
  184.     repeat with loop=6 down to 1
  185.       if item loop of scoreval>0 then if line loop of field mac is empty then
  186.         clickonnot loop
  187.         exit rollwhat
  188.       end if
  189.     end repeat
  190.   end if
  191.  
  192.   -- if we have upperbonus then look for 3 or 4 of kind - hold 2x4 or >
  193.   if not upperbonus or topfull then if threeofakind then
  194.     repeat with loop=6 down to 5
  195.       if score1to6(loop)>loop then
  196.         clickonnot(loop)
  197.         exit rollwhat
  198.       end if
  199.     end repeat
  200.   end if
  201.   if (largestraight or shortstraight) and ((not upperbonus) or topfull) then
  202.     if largestraight and calcss()<>0 then
  203.       tryforlg
  204.       exit rollwhat
  205.     end if
  206.     if largestraight then
  207.       if not shortstraight then holdlstraight
  208.       else holdsstraight
  209.       exit rollwhat
  210.     end if
  211.   end if
  212.   if not upperbonus or topfull then if threeofakind or fourofakind then
  213.     repeat with loop=6 down to 4
  214.       if score1to6(loop)>loop then
  215.         clickonnot(loop)
  216.         exit rollwhat
  217.       end if
  218.     end repeat
  219.     repeat with loop=6 down to 5
  220.       if score1to6(loop)>0 then
  221.         clickonnot(loop)
  222.         exit rollwhat
  223.       end if
  224.     end repeat
  225.   end if
  226.   if yahtzee then
  227.     repeat with loop1=2 down to 1
  228.       repeat with loop=1 to 5
  229.         if item loop of scoreval>loop1*loop then
  230.           clickonnot(loop)
  231.           exit rollwhat
  232.         end if
  233.       end repeat
  234.     end repeat
  235.   end if
  236.   if line 18 of field 1>24 then
  237.     -- last roll
  238.     if chance then
  239.       rollchance
  240.       exit rollwhat
  241.     end if
  242.     repeat with loop=1 to 6
  243.       if line loop of field mac is empty then
  244.         clickonnot(loop)
  245.         exit rollwhat
  246.       end if
  247.     end repeat
  248.     if largestraight then
  249.       holdlstraight
  250.       exit rollwhat
  251.     end if
  252.     if shortstraight then
  253.       holdsstraight
  254.       exit rollwhat
  255.     end if
  256.   end if
  257.   if threeofakind or fourofakind then
  258.     repeat with loop=6 down to 5
  259.       if item loop of scoreval>loop then
  260.         clickonnot(loop)
  261.         exit rollwhat
  262.       end if
  263.     end repeat
  264.   end if
  265.   if fullhouse then
  266.     holdfull
  267.     exit rollwhat
  268.   end if
  269.   clickonnot 0
  270. end rollwhat
  271.  
  272. on clickonnot di
  273.   repeat with loop1=1 to 5
  274.     if (icon of btn loop1)-2999<>di then click at loc of btn loop1
  275.   end repeat
  276. end clickonnot
  277.  
  278. on clickonnot2 di,di1
  279.   repeat with loop1=1 to 5
  280.     put (icon of btn loop1)-2999 into temp
  281.     if (temp<>di) and (temp<>di1) then click at loc of btn loop1
  282.   end repeat
  283. end clickonnot2
  284.  
  285. function scorer roll
  286. global mac
  287. -- Always score if we have Yahtzee, LG STR, or Fl House
  288. put line 7 of field mac is empty into upperbonus
  289. put line 9 of field mac is empty into threeofakind
  290. put line 10 of field mac is empty into fourofakind
  291. put line 11 of field mac is empty into fullhouse
  292. put line 12 of field mac is empty into shortstraight
  293. put line 13 of field mac is empty into largestraight
  294. put line 14 of field mac is empty into yahtzee
  295. put line 15 of field mac is empty into chance
  296. if largestraight then
  297.   if CalcLS() <> 0 then
  298.     click at loc of card btn 18
  299.     return true
  300.     exit scorer
  301.   end if
  302. else if shortstraight then if calcss()<>0 then
  303.   click at loc of card btn 17
  304.   return true
  305.   exit scorer
  306. end if
  307. if calcyahtzee()<>0 then
  308.   if yahtzee then
  309.     click at loc of btn 19
  310.     return true
  311.     exit scorer
  312.   else
  313.     if line (icon of btn 1)-2999 of field mac is empty then
  314.       click at loc of btn (7+((icon of btn 1)-2999))
  315.       return true
  316.       exit scorer
  317.     end if
  318.   end if
  319. end if
  320. if fullhouse then if calcfull()<>0 then
  321.   click at loc of card btn 16
  322.   return true
  323.   exit scorer
  324. end if
  325. if roll<>3 then
  326.   return false
  327.   exit scorer
  328. end if
  329.  
  330. -- score aces to sixes
  331.  
  332. repeat with loop=6 down to 1
  333.   if line loop of field mac is empty then if score1to6(loop) > (2 * loop) then
  334.     click at loc of card btn (loop+7)
  335.     return true
  336.     exit scorer
  337.   end if
  338. end repeat
  339.  
  340. -- try 4 of kind, 3 of kind or small str
  341.  
  342. if shortstraight then if CalcSS() <> 0 then
  343.   click at loc of card btn 17
  344.   return true
  345.   exit scorer
  346. end if
  347.  
  348. repeat with loop=2 down to 1
  349.   if line (8+loop) of field mac is empty then if calckind(2+loop)>0 then
  350.     click at loc of card btn (13 + loop)
  351.     return true
  352.     exit scorer
  353.   end if
  354. end repeat
  355.  
  356. -- try taking a chance
  357.  
  358. if chance then if calcchance()>19 then
  359.   click at loc of card btn 20
  360.   return true
  361.   exit scorer
  362. end if
  363.  
  364. -- now we're really in trouble, don't want to start zero'ing things
  365. -- if we have reached the upper bonus so...
  366.  
  367. if not upperbonus then
  368.   -- look for the 1st empty field 1's-6's to put a low score in
  369.   put zero into temp
  370.   repeat with loop=1 to 6
  371.     if line loop of field mac is empty then add one to temp
  372.   end repeat
  373.   if temp<>0 then
  374.     if temp=1 then
  375.       -- there no choice of where to score in 1's to 6's
  376.       repeat with loop=1 to 6
  377.         if line loop of field mac is empty then
  378.           click at loc of card button (7+loop)
  379.           return true
  380.           exit scorer
  381.         end if
  382.       end repeat
  383.     else
  384.       -- a choice of 1's to 6's to score a low score in
  385.       -- try scoring 2 of a kind
  386.       repeat with loop=1 to 6
  387.         if line loop of field mac is empty then if score1to6(loop) > loop then
  388.           click at loc of card btn (loop+7)
  389.           return true
  390.           exit scorer
  391.         end if
  392.       end repeat
  393.       -- a choice of 1's to 6's to score a low score in
  394.       -- try scoring 1 of a kind
  395.       repeat with loop=1 to 6
  396.         if line loop of field mac is empty then if score1to6(loop) > 0 then
  397.           click at loc of card btn (loop+7)
  398.           return true
  399.           exit scorer
  400.         end if
  401.       end repeat
  402.       -- a choice of 1's to 6's to score a null score in
  403.       -- put it in the lowest
  404.       repeat with loop=1 to 6
  405.         if line loop of field mac is empty then
  406.           click at loc of btn (loop+7)
  407.           return true
  408.           exit scorer
  409.         end if
  410.       end repeat
  411.     end if
  412.   end if
  413. end if
  414.  
  415. -- try scoring in 1's to 6's if it still means we are on target for
  416. -- the upper bonus
  417.  
  418. put 0 into temp
  419. repeat with loop=1 to 6
  420.   if line loop of field mac is not empty then add 3*loop to temp
  421. end repeat
  422. put -1 into maxi
  423. put 0 into place
  424. repeat with loop=1 to 6
  425.   if line loop of field mac is empty then
  426.     put ((line 8 of field mac) + score1to6(loop)) into real
  427.     if real>62 then
  428.       click at loc of btn (7+loop)
  429.       return true
  430.       exit scorer
  431.     end if
  432.     put real - ((3*loop)+temp) into temp1
  433.     if temp1>maxi then
  434.       put temp1 into maxi
  435.       put loop into place
  436.     end if
  437.   end if
  438. end repeat
  439. if place<>0 then
  440.   click at loc of btn (7+place)
  441.   return true
  442.   exit scorer
  443. end if
  444.  
  445. if chance then
  446.   click at loc of card btn 20
  447.   return true
  448.   exit scorer
  449. end if
  450. -- start putting in 0's try at the top
  451.  
  452. if line 1 of field mac is empty and (line 3 of field mac is empty or line 4 of field mac is empty or line 5 of field mac is empty or line 6 of field mac is empty) then
  453.   click at loc of btn 8
  454.   return true
  455.   exit scorer
  456. end if
  457.  
  458. repeat with loop=15 down to 9
  459.   if line loop of field mac is empty then
  460.     click at loc of btn (5+loop)
  461.     return true
  462.     exit scorer
  463.   end if
  464. end repeat
  465.  
  466. repeat with loop=1 to 6
  467.   if line loop of field mac is empty then
  468.     click at loc of btn (7+loop)
  469.     return true
  470.     exit scorer
  471.   end if
  472. end repeat
  473.  
  474. end scorer
  475.  
  476. on rollwhat2
  477.   click at loc of btn 1
  478. end rollwhat2
  479.  
  480.  
  481. on macsgo
  482.   global mac, rollfor
  483.   put empty into rollfor
  484.   set cursor to 4
  485.   repeat with roll=1 to 3
  486.     if roll>1 then if not (hilite of button 1 or hilite of button 2 or hilite of button 3 or hilite of button 4 or hilite of button 5) then
  487.       if calcyahtzee()<>0 then
  488.         if line 10 of field mac is empty then
  489.           click at loc of btn 3
  490.           put "3,6" into rollfor
  491.         else if line 9 of field mac is empty then
  492.           click at loc of btn 3
  493.           click at loc of btn 4
  494.         end if
  495.       else
  496.         rollwhat2
  497.       end if
  498.     end if
  499.     if (hilite of btn 1 or hilite of btn 2 or hilite of btn 3 or hilite of btn 4 or hilite of btn 5) or roll=1 then if roll=1 then send macup to btn 6
  500.     else click at loc of btn 6
  501.     if scorer(roll) then exit macsgo
  502.     rollwhat roll
  503.   end repeat
  504. end macsgo
  505.  
  506. on idle
  507.   global mac
  508.   if the shiftkey is down then
  509.     set visible of card window to false
  510.     wait until the shiftkey is up
  511.     set visible of card window to true
  512.   end if
  513.   if not visible of btn 37 then if line 18 of field 1<>26
  514.   then if the short name of bkgnd btn (4+mac)="Macintosh" then macsgo
  515. end idle
  516.  
  517. on finigame
  518.   global username, mac
  519.   if hilite of bkgnd btn 8 then put 6 into offset
  520.   else put 0 into offset
  521.   if (hilite of bkgnd btn 8) or (field 5=6) then
  522.     HIDE BTN 6
  523.     HIDE BTN 7
  524.     add line 17 of field 1 to field 6
  525.     add line 17 of field 2 to field 7
  526.     show btn 37
  527.     set name of btn 21 to "New Game"
  528.     put empty into it
  529.     if the short name of bkgnd btn 5="Human" or the short name of bkgnd btn 6="Human" then
  530.       repeat while it<>"OK"
  531.         beep 2
  532.         if hilite of bkgnd btn 8
  533.         then answer "GAME OVER." with "Look" or "OK"
  534.       else answer "End of round 6.  GAME OVER." with "Look" or "OK"
  535.       if it is "Look" then
  536.         wait until the mouse is down
  537.         wait until the mouse is up
  538.       end if
  539.     end repeat
  540.   end if
  541.   repeat with macloop=1 to 2
  542.     put field (5+macloop) into highscore
  543.     repeat with loop=1 to 10
  544.       if highscore>line loop of field (4+offset) then
  545.         if the short name of bkgnd btn (4+macloop)<>"Macintosh" then
  546.           put empty into it
  547.           repeat while it is empty
  548.             play harpsichord tempo 180 a4e b d a3 d4
  549.             ASK "Player #" & macloop & ": A high score! Enter your name:" with username
  550.             if it is empty then
  551.               beep 2
  552.               answer "Don't by shy, please enter your name!" with "OK"
  553.               put empty into it
  554.             end if
  555.           end repeat
  556.         else
  557.           put "The Macintosh!" into it
  558.         end if
  559.         repeat with loop1=10 down to loop
  560.           put line loop1 of field (4+offset) into line loop1+1 of field (4+offset)
  561.           put line loop1 of field (3+offset) into line loop1+1 of field (3+offset)
  562.         end repeat
  563.         put it into line loop of field (3+offset)
  564.         put highscore into line loop of field (4+offset)
  565.         exit repeat
  566.       end if
  567.     end repeat
  568.   end repeat
  569. else
  570.   add line 17 of field 1 to field 6
  571.   add line 17 of field 2 to field 7
  572.   put empty into it
  573.   if the short name of bkgnd btn 5="Human" or the short name of bkgnd btn 6="Human" then
  574.     repeat while it<>"OK"
  575.       beep 2
  576.       answer "End of round" && field 5 & ".  Click OK for next round." with "Look" or "OK"
  577.       if it is "Look" then
  578.         wait until the mouse is down
  579.         wait until the mouse is up
  580.       end if
  581.     end repeat
  582.   end if
  583.   add one to field 5
  584.   put 1 into mac
  585.   put empty into field 1
  586.   put 0 into line 18 of field 1
  587.   put empty into field 2
  588.   hide btn 7
  589.   set name of card btn 7 to "Roll 2"
  590.   show btn 6
  591.   set lockscreen to true
  592.   repeat with loop=1 to 5
  593.     hide btn loop
  594.   end repeat
  595.   set hilite of btn 34 to true
  596.   set lockscreen to false
  597. end if
  598. end finigame
  599.  
  600. on finishscore1
  601.   global mac
  602.   set lockscreen to true
  603.   hide btn 7
  604.   set name of btn 7 to "Roll 2"
  605.   show btn 6
  606.   REPEAT WITH LOOP=1 TO 5
  607.     SET HILITE OF BTN LOOP TO FALSE
  608.   END REPEAT
  609.   set lockscreen to false
  610.   put 2-((mac+1) mod 2) into mac
  611.   set hilite of card btn 34 to (mac=1)
  612.   if line 18 of field 1 = 26 then finigame
  613. end finishscore1
  614.  
  615. on checkempty b
  616.   global mac
  617.   if line b of field mac is not empty then
  618.     if line 18 of field 1 <> 26 then
  619.       beep 2
  620.       answer "You've already scored here!" with "OK"
  621.       exit to hypercard
  622.     ELSE
  623.       EXIT TO HYPERCARD
  624.     END IF
  625.   end if
  626. end checkempty
  627.  
  628. function CalcKind Num
  629. put "0,0,0,0,0,0" into amount
  630. repeat with loop=1 to 5
  631.   add one to item (icon of btn loop)-2999 of amount
  632. end repeat
  633. repeat with loop=1 to 6
  634.   if item loop of amount ‚â• num then
  635.     put empty into total
  636.     repeat with loop=1 to 5
  637.       add (icon of btn loop)-2999 to total
  638.     end repeat
  639.     return total
  640.     exit CalcKind
  641.   end if
  642. end repeat
  643. return 0
  644. end CalcKind
  645.  
  646. function CalcFull
  647. put "0,0,0,0,0,0" into amount
  648. repeat with loop=1 to 5
  649.   add one to item (icon of btn loop)-2999 of amount
  650. end repeat
  651. if amount contains 2 and amount contains 3 then
  652.   return 25
  653. else
  654.   return 0
  655. end if
  656. end CalcFull
  657.  
  658. function CalcLS
  659. put "0,0,0,0,0,0" into amount
  660. repeat with loop=1 to 5
  661.   put 1 into item (icon of btn loop)-2999 of amount
  662. end repeat
  663. if amount contains "1,1,1,1,1" then
  664.   return 40
  665. else
  666.   return 0
  667. end if
  668. end CalcLS
  669.  
  670. function CalcSS
  671. global dicepos
  672. put "0,0,0,0,0,0" into dicepos
  673. repeat with loop=1 to 5
  674.   put 1 into item (icon of btn loop)-2999 of dicepos
  675. end repeat
  676. if dicepos contains "1,1,1,1" then
  677.   return 30
  678. else
  679.   return 0
  680. end if
  681. end CalcSS
  682.  
  683. function CalcChance
  684. put 0 into total
  685. repeat with loop=1 to 5
  686.   add (icon of btn loop)-2999 to total
  687. end repeat
  688. return total
  689. end CalcChance
  690.  
  691. function CalcYahtzee
  692. if icon of btn 1 = icon of btn 2 then
  693.   if icon of btn 2 = icon of btn 3 then
  694.     if icon of btn 3 = icon of btn 4 then
  695.       if icon of btn 4 = icon of btn 5 then
  696.         return 50
  697.         exit CalcYahtzee
  698.       end if
  699.     end if
  700.   end if
  701. end if
  702. return 0
  703. end CalcYahtzee
  704.  
  705. function score1to6 val
  706. put 0 into total
  707. repeat with loop=1 to 5
  708.   if (icon of btn loop)-2999=val then add val to total
  709. end repeat
  710. return total
  711. end score1to6
  712.  
  713. on sumgrand
  714.   global mac
  715.   put line 8 of field mac into grandtotal
  716.   add line 16 of field mac to grandtotal
  717.   put grandtotal into line 17 of field mac
  718.   finishscore1
  719. end sumgrand
  720.  
  721. on sumupper
  722.   global mac
  723.   put empty into uppertotal
  724.   repeat with loop=1 to 6
  725.     add line loop of field mac to uppertotal
  726.   end repeat
  727.   if uppertotal > 62 then
  728.     put 35 into line 7 of field mac
  729.     add 35 to uppertotal
  730.   else
  731.     put empty into line 7 of field mac
  732.   end if
  733.   put uppertotal into line 8 of field mac
  734.   sumgrand
  735. end sumupper
  736.  
  737. on sumlower
  738.   global mac
  739.   put empty into lowertotal
  740.   repeat with loop=9 to 15
  741.     add line loop of field mac to lowertotal
  742.   end repeat
  743.   put lowertotal into line 16 of field mac
  744.   sumgrand
  745. end sumlower
  746.  
  747. on holderr
  748.   beep 2
  749.   answer "You must roll all five dice to begin." with "OK"
  750. end holderr
  751.  
  752. on holderr1
  753.   if line 18 of field 1 <> 26 then
  754.     beep 2
  755.     answer "You've had 3 rolls.  Please score now." with "OK"
  756.   END IF
  757. end holderr1
  758.  
  759. on checkrolled
  760.   set cursor to 4
  761.   if visible of btn 6 then
  762.     beep 2
  763.     answer "You must roll the dice before scoring!" with "OK"
  764.     exit to hypercard
  765.   end if
  766. end checkrolled
  767.  
  768.  
  769.  
  770.  
  771. -- part 2 (button)
  772. -- low flags: 80
  773. -- high flags: 0000
  774. -- rect: left=15 top=35 right=69 bottom=49
  775. -- title width / last selected line: 0
  776. -- icon id / first selected line: 3004 / 3004
  777. -- text alignment: 1
  778. -- font id: 0
  779. -- text size: 12
  780. -- style flags: 0
  781. -- line height: 16
  782. -- part name: New Button
  783. ----- HyperTalk script -----
  784. on mouseUp
  785.   if visible of btn 7 then
  786.     SET HILITE OF ME TO NOT HILITE OF ME
  787.   else
  788.     if visible of button 6 then
  789.       holderr
  790.     else
  791.       holderr1
  792.     end if
  793.   end if
  794. end mouseUp
  795.  
  796.  
  797.  
  798. -- part 4 (button)
  799. -- low flags: 80
  800. -- high flags: 0000
  801. -- rect: left=15 top=86 right=120 bottom=49
  802. -- title width / last selected line: 0
  803. -- icon id / first selected line: 3001 / 3001
  804. -- text alignment: 1
  805. -- font id: 0
  806. -- text size: 12
  807. -- style flags: 0
  808. -- line height: 16
  809. -- part name: New Button
  810. ----- HyperTalk script -----
  811. on mouseUp
  812.   if visible of btn 7 then
  813.     SET HILITE OF ME TO NOT HILITE OF ME
  814.   else
  815.     if visible of button 6 then
  816.       holderr
  817.     else
  818.       holderr1
  819.     end if
  820.   end if
  821. end mouseUp
  822.  
  823.  
  824.  
  825. -- part 5 (button)
  826. -- low flags: 80
  827. -- high flags: 0000
  828. -- rect: left=15 top=137 right=171 bottom=49
  829. -- title width / last selected line: 0
  830. -- icon id / first selected line: 3005 / 3005
  831. -- text alignment: 1
  832. -- font id: 0
  833. -- text size: 12
  834. -- style flags: 0
  835. -- line height: 16
  836. -- part name: New Button
  837. ----- HyperTalk script -----
  838. on mouseUp
  839.   if visible of btn 7 then
  840.     SET HILITE OF ME TO NOT HILITE OF ME
  841.   else
  842.     if visible of button 6 then
  843.       holderr
  844.     else
  845.       holderr1
  846.     end if
  847.   end if
  848. end mouseUp
  849.  
  850.  
  851.  
  852. -- part 6 (button)
  853. -- low flags: 80
  854. -- high flags: 0000
  855. -- rect: left=15 top=188 right=222 bottom=49
  856. -- title width / last selected line: 0
  857. -- icon id / first selected line: 3001 / 3001
  858. -- text alignment: 1
  859. -- font id: 0
  860. -- text size: 12
  861. -- style flags: 0
  862. -- line height: 16
  863. -- part name: New Button
  864. ----- HyperTalk script -----
  865. on mouseUp
  866.   if visible of btn 7 then
  867.     SET HILITE OF ME TO NOT HILITE OF ME
  868.   else
  869.     if visible of button 6 then
  870.       holderr
  871.     else
  872.       holderr1
  873.     end if
  874.   end if
  875. end mouseUp
  876.  
  877.  
  878.  
  879. -- part 7 (button)
  880. -- low flags: 80
  881. -- high flags: 0000
  882. -- rect: left=15 top=239 right=273 bottom=49
  883. -- title width / last selected line: 0
  884. -- icon id / first selected line: 3002 / 3002
  885. -- text alignment: 1
  886. -- font id: 0
  887. -- text size: 12
  888. -- style flags: 0
  889. -- line height: 16
  890. -- part name: New Button
  891. ----- HyperTalk script -----
  892. on mouseUp
  893.   if visible of btn 7 then
  894.     SET HILITE OF ME TO NOT HILITE OF ME
  895.   else
  896.     if visible of button 6 then
  897.       holderr
  898.     else
  899.       holderr1
  900.     end if
  901.   end if
  902. end mouseUp
  903.  
  904.  
  905.  
  906. -- part 9 (button)
  907. -- low flags: 80
  908. -- high flags: A003
  909. -- rect: left=7 top=283 right=335 bottom=57
  910. -- title width / last selected line: 0
  911. -- icon id / first selected line: 0 / 0
  912. -- text alignment: 1
  913. -- font id: 0
  914. -- text size: 12
  915. -- style flags: 0
  916. -- line height: 16
  917. -- part name: Roll 1
  918. ----- HyperTalk script -----
  919. on mouseUp
  920.   global mac
  921.   if the short name of bkgnd btn (4+mac)="Human" then
  922.     SET CURSOR TO 4
  923.     add one to line 18 of field 1
  924.     set visible of me to false
  925.     SET LOCKSCREEN TO TRUE
  926.     repeat with loop=1 to 5
  927.       set hilite of btn loop to false
  928.       hide btn loop
  929.     end repeat
  930.     set lockscreen to false
  931.     set lockscreen to true
  932.     repeat with loop=1 to 5
  933.       SET ICON OF BTN loop TO (2999+RANDOM(6))
  934.       show btn loop
  935.     end repeat
  936.     show btn 7
  937.     SET LOCKSCREEN TO FALSE
  938.   end if
  939. end mouseUp
  940.  
  941. on MacUp
  942.   SET CURSOR TO 4
  943.   set hilite of me to true
  944.   set hilite of me to false
  945.   add one to line 18 of field 1
  946.   set visible of me to false
  947.   SET LOCKSCREEN TO TRUE
  948.   repeat with loop=1 to 5
  949.     set hilite of btn loop to false
  950.     hide btn loop
  951.   end repeat
  952.   set lockscreen to false
  953.   set lockscreen to true
  954.   repeat with loop=1 to 5
  955.     SET ICON OF BTN loop TO (2999+RANDOM(6))
  956.     show btn loop
  957.   end repeat
  958.   show btn 7
  959.   SET LOCKSCREEN TO FALSE
  960. end macup
  961.  
  962.  
  963.  
  964. -- part 10 (button)
  965. -- low flags: 80
  966. -- high flags: A003
  967. -- rect: left=7 top=283 right=335 bottom=57
  968. -- title width / last selected line: 0
  969. -- icon id / first selected line: 0 / 0
  970. -- text alignment: 1
  971. -- font id: 0
  972. -- text size: 12
  973. -- style flags: 0
  974. -- line height: 16
  975. -- part name: Roll 2
  976. ----- HyperTalk script -----
  977. on mouseUp
  978.   SET CURSOR TO 4
  979.   IF NOT (HILITE OF BTN 1 OR HILITE OF BTN 2 OR HILITE OF BTN 3 OR HILITE OF BTN 4 OR HILITE OF BTN 5) THEN
  980.     beep 2
  981.     answer "Click on dice to re-roll." with "OK"
  982.     exit mouseup
  983.   end if
  984.   hide btn 7
  985.   set lockscreen to true
  986.   repeat with loop=1 to 5
  987.     PUT HILITE OF BTN LOOP INTO ITEM LOOP OF RR
  988.     if hilite of btn loop then set visible of btn loop to false
  989.     SET HILITE OF BTN LOOP TO FALSE
  990.   end repeat
  991.   SET LOCKSCREEN TO false
  992.   set lockscreen to true
  993.   REPEAT WITH LOOP1=1 TO 5
  994.     IF ITEM LOOP1 OF RR THEN
  995.       SET ICON OF BTN LOOP1 TO (2999+RANDOM(6))
  996.       set visible of btn loop1 to true
  997.     end if
  998.   END REPEAT
  999.   SET LOCKSCREEN TO FALSE
  1000.   IF THE SHORT NAME OF ME<>"Roll 3" THEN
  1001.     SET THE NAME OF ME TO "Roll 3"
  1002.     show btn 7
  1003.   ELSE
  1004.     SET NAME OF ME TO "Roll 2"
  1005.   END IF
  1006. end mouseUp
  1007.  
  1008.  
  1009.  
  1010. -- part 14 (button)
  1011. -- low flags: 00
  1012. -- high flags: 2000
  1013. -- rect: left=66 top=46 right=60 bottom=338
  1014. -- title width / last selected line: 0
  1015. -- icon id / first selected line: 0 / 0
  1016. -- text alignment: 1
  1017. -- font id: 0
  1018. -- text size: 12
  1019. -- style flags: 0
  1020. -- line height: 16
  1021. -- part name: 
  1022. ----- HyperTalk script -----
  1023. on mouseUp
  1024.   global mac
  1025.   if not gameon() then exit mouseup
  1026.   if the short name of bkgnd btn (4+Mac)="Human" then
  1027.     checkrolled
  1028.     CHECKEMPTY 1
  1029.   end if
  1030.   REPEAT WITH LOOP=1 TO 4
  1031.     SET HILITE OF ME TO NOT HILITE OF ME
  1032.   END REPEAT
  1033.   put score1to6(1) into line 1 of field mac
  1034.   sumupper
  1035. end mouseUp
  1036.  
  1037.  
  1038.  
  1039. -- part 27 (button)
  1040. -- low flags: 00
  1041. -- high flags: 2000
  1042. -- rect: left=66 top=62 right=76 bottom=338
  1043. -- title width / last selected line: 0
  1044. -- icon id / first selected line: 0 / 0
  1045. -- text alignment: 1
  1046. -- font id: 0
  1047. -- text size: 12
  1048. -- style flags: 0
  1049. -- line height: 16
  1050. -- part name: 
  1051. ----- HyperTalk script -----
  1052. on mouseUp
  1053.   global mac
  1054.   if not gameon() then exit mouseup
  1055.   if the short name of bkgnd btn (4+Mac)="Human" then
  1056.     checkrolled
  1057.     CHECKEMPTY 2
  1058.   end if
  1059.   REPEAT WITH LOOP=1 TO 4
  1060.     SET HILITE OF ME TO NOT HILITE OF ME
  1061.   END REPEAT
  1062.   put score1to6(2) into line 2 of field mac
  1063.   sumupper
  1064. end mouseUp
  1065.  
  1066.  
  1067.  
  1068. -- part 28 (button)
  1069. -- low flags: 00
  1070. -- high flags: 2000
  1071. -- rect: left=66 top=78 right=92 bottom=338
  1072. -- title width / last selected line: 0
  1073. -- icon id / first selected line: 0 / 0
  1074. -- text alignment: 1
  1075. -- font id: 0
  1076. -- text size: 12
  1077. -- style flags: 0
  1078. -- line height: 16
  1079. -- part name: 
  1080. ----- HyperTalk script -----
  1081. on mouseUp
  1082.   global mac
  1083.   if not gameon() then exit mouseup
  1084.   if the short name of bkgnd btn (4+Mac)="Human" then
  1085.     checkrolled
  1086.     CHECKEMPTY 3
  1087.   end if
  1088.   REPEAT WITH LOOP=1 TO 4
  1089.     SET HILITE OF ME TO NOT HILITE OF ME
  1090.   END REPEAT
  1091.   put score1to6(3) into line 3 of field mac
  1092.   sumupper
  1093. end mouseUp
  1094.  
  1095.  
  1096.  
  1097. -- part 29 (button)
  1098. -- low flags: 00
  1099. -- high flags: 2000
  1100. -- rect: left=66 top=94 right=108 bottom=338
  1101. -- title width / last selected line: 0
  1102. -- icon id / first selected line: 0 / 0
  1103. -- text alignment: 1
  1104. -- font id: 0
  1105. -- text size: 12
  1106. -- style flags: 0
  1107. -- line height: 16
  1108. -- part name: 
  1109. ----- HyperTalk script -----
  1110. on mouseUp
  1111.   global mac
  1112.   if not gameon() then exit mouseup
  1113.   if the short name of bkgnd btn (4+Mac)="Human" then
  1114.     checkrolled
  1115.     CHECKEMPTY 4
  1116.   end if
  1117.   REPEAT WITH LOOP=1 TO 4
  1118.     SET HILITE OF ME TO NOT HILITE OF ME
  1119.   END REPEAT
  1120.   put score1to6(4) into line 4 of field mac
  1121.   sumupper
  1122. end mouseUp
  1123.  
  1124.  
  1125.  
  1126. -- part 30 (button)
  1127. -- low flags: 00
  1128. -- high flags: 2000
  1129. -- rect: left=66 top=110 right=124 bottom=338
  1130. -- title width / last selected line: 0
  1131. -- icon id / first selected line: 0 / 0
  1132. -- text alignment: 1
  1133. -- font id: 0
  1134. -- text size: 12
  1135. -- style flags: 0
  1136. -- line height: 16
  1137. -- part name: 
  1138. ----- HyperTalk script -----
  1139. on mouseUp
  1140.   global mac
  1141.   if not gameon() then exit mouseup
  1142.   if the short name of bkgnd btn (4+Mac)="Human" then
  1143.     checkrolled
  1144.     CHECKEMPTY 5
  1145.   end if
  1146.   REPEAT WITH LOOP=1 TO 4
  1147.     SET HILITE OF ME TO NOT HILITE OF ME
  1148.   END REPEAT
  1149.   put score1to6(5) into line 5 of field mac
  1150.   sumupper
  1151. end mouseUp
  1152.  
  1153.  
  1154.  
  1155. -- part 31 (button)
  1156. -- low flags: 00
  1157. -- high flags: 2000
  1158. -- rect: left=66 top=126 right=140 bottom=338
  1159. -- title width / last selected line: 0
  1160. -- icon id / first selected line: 0 / 0
  1161. -- text alignment: 1
  1162. -- font id: 0
  1163. -- text size: 12
  1164. -- style flags: 0
  1165. -- line height: 16
  1166. -- part name: 
  1167. ----- HyperTalk script -----
  1168. on mouseUp
  1169.   global mac
  1170.   if not gameon() then exit mouseup
  1171.   if the short name of bkgnd btn (4+Mac)="Human" then
  1172.     checkrolled
  1173.     CHECKEMPTY 6
  1174.   end if
  1175.   REPEAT WITH LOOP=1 TO 4
  1176.     SET HILITE OF ME TO NOT HILITE OF ME
  1177.   END REPEAT
  1178.   put score1to6(6) into line 6 of field mac
  1179.   sumupper
  1180. end mouseUp
  1181.  
  1182.  
  1183.  
  1184. -- part 34 (button)
  1185. -- low flags: 00
  1186. -- high flags: 2000
  1187. -- rect: left=66 top=174 right=188 bottom=338
  1188. -- title width / last selected line: 0
  1189. -- icon id / first selected line: 0 / 0
  1190. -- text alignment: 1
  1191. -- font id: 0
  1192. -- text size: 12
  1193. -- style flags: 0
  1194. -- line height: 16
  1195. -- part name: 
  1196. ----- HyperTalk script -----
  1197. on mouseUp
  1198.   global mac
  1199.   if not gameon() then exit mouseup
  1200.   if the short name of bkgnd btn (4+Mac)="Human" then
  1201.     checkrolled
  1202.     CHECKEMPTY 9
  1203.   end if
  1204.   REPEAT WITH LOOP=1 TO 4
  1205.     SET HILITE OF ME TO NOT HILITE OF ME
  1206.   END REPEAT
  1207.   put CalcKind(3) into line 9 of field mac
  1208.   sumlower
  1209. end mouseUp
  1210.  
  1211.  
  1212.  
  1213. -- part 35 (button)
  1214. -- low flags: 00
  1215. -- high flags: 2000
  1216. -- rect: left=66 top=190 right=204 bottom=338
  1217. -- title width / last selected line: 0
  1218. -- icon id / first selected line: 0 / 0
  1219. -- text alignment: 1
  1220. -- font id: 0
  1221. -- text size: 12
  1222. -- style flags: 0
  1223. -- line height: 16
  1224. -- part name: 
  1225. ----- HyperTalk script -----
  1226. on mouseUp
  1227.   global mac
  1228.   if not gameon() then exit mouseup
  1229.   if the short name of bkgnd btn (4+Mac)="Human" then
  1230.     checkrolled
  1231.     CHECKEMPTY 10
  1232.   end if
  1233.   REPEAT WITH LOOP=1 TO 4
  1234.     SET HILITE OF ME TO NOT HILITE OF ME
  1235.   END REPEAT
  1236.   put CalcKind(4) into line 10 of field mac
  1237.   sumlower
  1238. end mouseUp
  1239.  
  1240.  
  1241.  
  1242. -- part 36 (button)
  1243. -- low flags: 00
  1244. -- high flags: 2000
  1245. -- rect: left=66 top=206 right=220 bottom=338
  1246. -- title width / last selected line: 0
  1247. -- icon id / first selected line: 0 / 0
  1248. -- text alignment: 1
  1249. -- font id: 0
  1250. -- text size: 12
  1251. -- style flags: 0
  1252. -- line height: 16
  1253. -- part name: 
  1254. ----- HyperTalk script -----
  1255. on mouseUp
  1256.   global mac
  1257.   if not gameon() then exit mouseup
  1258.   if the short name of bkgnd btn (4+Mac)="Human" then
  1259.     checkrolled
  1260.     CHECKEMPTY 11
  1261.   end if
  1262.   REPEAT WITH LOOP=1 TO 4
  1263.     SET HILITE OF ME TO NOT HILITE OF ME
  1264.   END REPEAT
  1265.   put CalcFull() into line 11 of field mac
  1266.   sumlower
  1267. end mouseUp
  1268.  
  1269.  
  1270.  
  1271. -- part 37 (button)
  1272. -- low flags: 00
  1273. -- high flags: 2000
  1274. -- rect: left=66 top=222 right=236 bottom=338
  1275. -- title width / last selected line: 0
  1276. -- icon id / first selected line: 0 / 0
  1277. -- text alignment: 1
  1278. -- font id: 0
  1279. -- text size: 12
  1280. -- style flags: 0
  1281. -- line height: 16
  1282. -- part name: 
  1283. ----- HyperTalk script -----
  1284. on mouseUp
  1285.   global mac
  1286.   if not gameon() then exit mouseup
  1287.   if the short name of bkgnd btn (4+Mac)="Human" then
  1288.     checkrolled
  1289.     CHECKEMPTY 12
  1290.   end if
  1291.   REPEAT WITH LOOP=1 TO 4
  1292.     SET HILITE OF ME TO NOT HILITE OF ME
  1293.   END REPEAT
  1294.   put CalcsS() into line 12 of field mac
  1295.   sumlower
  1296. end mouseUp
  1297.  
  1298.  
  1299.  
  1300. -- part 38 (button)
  1301. -- low flags: 00
  1302. -- high flags: 2000
  1303. -- rect: left=66 top=238 right=252 bottom=338
  1304. -- title width / last selected line: 0
  1305. -- icon id / first selected line: 0 / 0
  1306. -- text alignment: 1
  1307. -- font id: 0
  1308. -- text size: 12
  1309. -- style flags: 0
  1310. -- line height: 16
  1311. -- part name: 
  1312. ----- HyperTalk script -----
  1313. on mouseUp
  1314.   global mac
  1315.   if not gameon() then exit mouseup
  1316.   if the short name of bkgnd btn (4+Mac)="Human" then
  1317.     checkrolled
  1318.     checkempty 13
  1319.   end if
  1320.   REPEAT WITH LOOP=1 TO 4
  1321.     SET HILITE OF ME TO NOT HILITE OF ME
  1322.   END REPEAT
  1323.   put CalcLS() into line 13 of field mac
  1324.   sumlower
  1325. end mouseUp
  1326.  
  1327.  
  1328.  
  1329. -- part 41 (button)
  1330. -- low flags: 00
  1331. -- high flags: 2000
  1332. -- rect: left=66 top=254 right=268 bottom=338
  1333. -- title width / last selected line: 0
  1334. -- icon id / first selected line: 0 / 0
  1335. -- text alignment: 1
  1336. -- font id: 0
  1337. -- text size: 12
  1338. -- style flags: 0
  1339. -- line height: 16
  1340. -- part name: 
  1341. ----- HyperTalk script -----
  1342. on mouseUp
  1343.   global mac
  1344.   if not gameon() then exit mouseup
  1345.   if the short name of bkgnd btn (4+Mac)="Human" then
  1346.     checkrolled
  1347.     checkempty 14
  1348.   end if
  1349.   REPEAT WITH LOOP=1 TO 4
  1350.     SET HILITE OF ME TO NOT HILITE OF ME
  1351.   END REPEAT
  1352.   put CalcYahtzee() into line 14 of field mac
  1353.   sumlower
  1354. end mouseUp
  1355.  
  1356.  
  1357.  
  1358. -- part 42 (button)
  1359. -- low flags: 00
  1360. -- high flags: 2000
  1361. -- rect: left=66 top=270 right=284 bottom=338
  1362. -- title width / last selected line: 0
  1363. -- icon id / first selected line: 0 / 0
  1364. -- text alignment: 1
  1365. -- font id: 0
  1366. -- text size: 12
  1367. -- style flags: 0
  1368. -- line height: 16
  1369. -- part name: 
  1370. ----- HyperTalk script -----
  1371. on mouseUp
  1372.   global mac
  1373.   if not gameon() then exit mouseup
  1374.   if the short name of bkgnd btn (4+Mac)="Human" then
  1375.     checkrolled
  1376.     checkempty 15
  1377.   end if
  1378.   REPEAT WITH LOOP=1 TO 4
  1379.     SET HILITE OF ME TO NOT HILITE OF ME
  1380.   END REPEAT
  1381.   put calcchance() into line 15 of field mac
  1382.   sumlower
  1383. end mouseUp
  1384.  
  1385.  
  1386.  
  1387. -- part 44 (button)
  1388. -- low flags: 00
  1389. -- high flags: A003
  1390. -- rect: left=362 top=23 right=45 bottom=492
  1391. -- title width / last selected line: 0
  1392. -- icon id / first selected line: 0 / 0
  1393. -- text alignment: 1
  1394. -- font id: 0
  1395. -- text size: 12
  1396. -- style flags: 0
  1397. -- line height: 16
  1398. -- part name: New Game
  1399. ----- HyperTalk script -----
  1400. on mouseUp
  1401.   global mac
  1402.   if not visible of btn 37 then
  1403.     beep 2
  1404.     answer "Abandon current game?" with "OK" or "Cancel"
  1405.     if it is "Cancel" then exit mouseup
  1406.     set lockscreen to true
  1407.     set name of me to "New Game"
  1408.     show card btn 37
  1409.     repeat with loop=1 to 7
  1410.       hide btn loop
  1411.     end repeat
  1412.     set lockscreen to false
  1413.     exit mouseup
  1414.   end if
  1415.   put 1 into mac
  1416.   put empty into field 1
  1417.   put 0 into line 18 of field 1
  1418.   PUT 0 INTO FIELD 6
  1419.   PUT 0 INTO FIELD 7
  1420.   put empty into field 2
  1421.   hide btn 7
  1422.   set name of card btn 7 to "Roll 2"
  1423.   show btn 6
  1424.   set lockscreen to true
  1425.   repeat with loop=1 to 5
  1426.     hide btn loop
  1427.   end repeat
  1428.   if hilite of bkgnd btn 2 then set name of bkgnd btn 5 to "Macintosh"
  1429.   else set name of bkgnd btn 5 to "Human"
  1430.   if hilite of bkgnd btn 4 then set name of bkgnd btn 6 to "Macintosh"
  1431.   else set name of bkgnd btn 6 to "Human"
  1432.   set hilite of btn 34 to true
  1433.   put 1 into field 5 -- set round number to 1
  1434.   hide btn 37
  1435.   set name of me to "Abandon Game"
  1436.   set lockscreen to false
  1437. end mouseUp
  1438.  
  1439.  
  1440.  
  1441. -- part 47 (button)
  1442. -- low flags: 00
  1443. -- high flags: 0000
  1444. -- rect: left=346 top=202 right=218 bottom=507
  1445. -- title width / last selected line: 0
  1446. -- icon id / first selected line: 0 / 0
  1447. -- text alignment: 1
  1448. -- font id: 0
  1449. -- text size: 12
  1450. -- style flags: 0
  1451. -- line height: 16
  1452. -- part name: Clear High Scores
  1453. ----- HyperTalk script -----
  1454. on mouseUp
  1455.   click at the loc of field 3
  1456. end mouseUp
  1457.  
  1458.  
  1459.  
  1460. -- part 52 (button)
  1461. -- low flags: 00
  1462. -- high flags: 4000
  1463. -- rect: left=172 top=158 right=172 bottom=254
  1464. -- title width / last selected line: 0
  1465. -- icon id / first selected line: 0 / 0
  1466. -- text alignment: 1
  1467. -- font id: 0
  1468. -- text size: 12
  1469. -- style flags: 0
  1470. -- line height: 16
  1471. -- part name: New Button
  1472. ----- HyperTalk script -----
  1473. on mouseUp
  1474.   SET HILITE OF ME TO TRUE
  1475. end mouseUp
  1476.  
  1477.  
  1478.  
  1479. -- part 53 (button)
  1480. -- low flags: 00
  1481. -- high flags: 4000
  1482. -- rect: left=172 top=286 right=300 bottom=254
  1483. -- title width / last selected line: 0
  1484. -- icon id / first selected line: 0 / 0
  1485. -- text alignment: 1
  1486. -- font id: 0
  1487. -- text size: 12
  1488. -- style flags: 0
  1489. -- line height: 16
  1490. -- part name: New Button
  1491. ----- HyperTalk script -----
  1492. on mouseUp
  1493.   SET HILITE OF ME TO TRUE
  1494. end mouseUp
  1495.  
  1496.  
  1497.  
  1498. -- part 58 (button)
  1499. -- low flags: 00
  1500. -- high flags: 4000
  1501. -- rect: left=256 top=158 right=172 bottom=338
  1502. -- title width / last selected line: 0
  1503. -- icon id / first selected line: 0 / 0
  1504. -- text alignment: 1
  1505. -- font id: 0
  1506. -- text size: 12
  1507. -- style flags: 0
  1508. -- line height: 16
  1509. -- part name: New Button
  1510. ----- HyperTalk script -----
  1511. on mouseUp
  1512.   SET HILITE OF ME TO TRUE
  1513. end mouseUp
  1514.  
  1515.  
  1516.  
  1517. -- part 59 (button)
  1518. -- low flags: 00
  1519. -- high flags: 4000
  1520. -- rect: left=256 top=286 right=300 bottom=338
  1521. -- title width / last selected line: 0
  1522. -- icon id / first selected line: 0 / 0
  1523. -- text alignment: 1
  1524. -- font id: 0
  1525. -- text size: 12
  1526. -- style flags: 0
  1527. -- line height: 16
  1528. -- part name: New Button
  1529. ----- HyperTalk script -----
  1530. on mouseUp
  1531.   SET HILITE OF ME TO TRUE
  1532. end mouseUp
  1533.  
  1534.  
  1535.  
  1536. -- part 60 (button)
  1537. -- low flags: 00
  1538. -- high flags: 4000
  1539. -- rect: left=256 top=302 right=316 bottom=338
  1540. -- title width / last selected line: 0
  1541. -- icon id / first selected line: 0 / 0
  1542. -- text alignment: 1
  1543. -- font id: 0
  1544. -- text size: 12
  1545. -- style flags: 0
  1546. -- line height: 16
  1547. -- part name: New Button
  1548. ----- HyperTalk script -----
  1549. on mouseUp
  1550.   SET HILITE OF ME TO TRUE
  1551. end mouseUp
  1552.  
  1553.  
  1554.  
  1555. -- part 61 (button)
  1556. -- low flags: 00
  1557. -- high flags: 4000
  1558. -- rect: left=172 top=302 right=316 bottom=254
  1559. -- title width / last selected line: 0
  1560. -- icon id / first selected line: 0 / 0
  1561. -- text alignment: 1
  1562. -- font id: 0
  1563. -- text size: 12
  1564. -- style flags: 0
  1565. -- line height: 16
  1566. -- part name: New Button
  1567. ----- HyperTalk script -----
  1568. on mouseUp
  1569.   SET HILITE OF ME TO TRUE
  1570. end mouseUp
  1571.  
  1572.  
  1573.  
  1574. -- part 64 (button)
  1575. -- low flags: 00
  1576. -- high flags: 0000
  1577. -- rect: left=256 top=158 right=172 bottom=338
  1578. -- title width / last selected line: 0
  1579. -- icon id / first selected line: 0 / 0
  1580. -- text alignment: 1
  1581. -- font id: 0
  1582. -- text size: 12
  1583. -- style flags: 0
  1584. -- line height: 16
  1585. -- part name: New Button
  1586. ----- HyperTalk script -----
  1587. on mouseUp
  1588.   SET HILITE OF ME TO false
  1589. end mouseUp
  1590.  
  1591.  
  1592.  
  1593. -- part 67 (button)
  1594. -- low flags: 00
  1595. -- high flags: 0000
  1596. -- rect: left=172 top=286 right=300 bottom=254
  1597. -- title width / last selected line: 0
  1598. -- icon id / first selected line: 0 / 0
  1599. -- text alignment: 1
  1600. -- font id: 0
  1601. -- text size: 12
  1602. -- style flags: 0
  1603. -- line height: 16
  1604. -- part name: New Button
  1605. ----- HyperTalk script -----
  1606. on mouseUp
  1607.   SET HILITE OF ME TO TRUE
  1608. end mouseUp
  1609.  
  1610.  
  1611.  
  1612. -- part 70 (button)
  1613. -- low flags: 00
  1614. -- high flags: 0000
  1615. -- rect: left=256 top=302 right=316 bottom=338
  1616. -- title width / last selected line: 0
  1617. -- icon id / first selected line: 0 / 0
  1618. -- text alignment: 1
  1619. -- font id: 0
  1620. -- text size: 12
  1621. -- style flags: 0
  1622. -- line height: 16
  1623. -- part name: New Button
  1624. ----- HyperTalk script -----
  1625. on mouseUp
  1626.   SET HILITE OF ME TO TRUE
  1627. end mouseUp
  1628.  
  1629.  
  1630.  
  1631. -- part 71 (button)
  1632. -- low flags: 00
  1633. -- high flags: 0000
  1634. -- rect: left=172 top=302 right=316 bottom=254
  1635. -- title width / last selected line: 0
  1636. -- icon id / first selected line: 0 / 0
  1637. -- text alignment: 1
  1638. -- font id: 0
  1639. -- text size: 12
  1640. -- style flags: 0
  1641. -- line height: 16
  1642. -- part name: New Button
  1643. ----- HyperTalk script -----
  1644. on mouseUp
  1645.   SET HILITE OF ME TO TRUE
  1646. end mouseUp
  1647.  
  1648.  
  1649.  
  1650. -- part 73 (button)
  1651. -- low flags: 00
  1652. -- high flags: 0000
  1653. -- rect: left=256 top=286 right=300 bottom=338
  1654. -- title width / last selected line: 0
  1655. -- icon id / first selected line: 0 / 0
  1656. -- text alignment: 1
  1657. -- font id: 0
  1658. -- text size: 12
  1659. -- style flags: 0
  1660. -- line height: 16
  1661. -- part name: New Button
  1662. ----- HyperTalk script -----
  1663. on mouseUp
  1664.   SET HILITE OF ME TO TRUE
  1665. end mouseUp
  1666.  
  1667.  
  1668.  
  1669. -- part 74 (button)
  1670. -- low flags: 00
  1671. -- high flags: 4000
  1672. -- rect: left=172 top=22 right=44 bottom=338
  1673. -- title width / last selected line: 0
  1674. -- icon id / first selected line: 0 / 0
  1675. -- text alignment: 1
  1676. -- font id: 0
  1677. -- text size: 12
  1678. -- style flags: 0
  1679. -- line height: 16
  1680. -- part name: New Button
  1681.  
  1682.  
  1683. -- part 80 (button)
  1684. -- low flags: 00
  1685. -- high flags: 0000
  1686. -- rect: left=172 top=158 right=172 bottom=254
  1687. -- title width / last selected line: 0
  1688. -- icon id / first selected line: 0 / 0
  1689. -- text alignment: 1
  1690. -- font id: 0
  1691. -- text size: 12
  1692. -- style flags: 0
  1693. -- line height: 16
  1694. -- part name: New Button
  1695.  
  1696.  
  1697. -- part 81 (button)
  1698. -- low flags: 00
  1699. -- high flags: 2000
  1700. -- rect: left=66 top=142 right=156 bottom=338
  1701. -- title width / last selected line: 0
  1702. -- icon id / first selected line: 0 / 0
  1703. -- text alignment: 1
  1704. -- font id: 0
  1705. -- text size: 12
  1706. -- style flags: 0
  1707. -- line height: 16
  1708. -- part name: 
  1709. ----- HyperTalk script -----
  1710. on mouseUp
  1711.   if line 18 of field 1 <> 26 then
  1712.     beep 2
  1713.     show card field "Bonus"
  1714.     wait until the mouse is down
  1715.     wait until the mouse is up
  1716.     hide card field "Bonus"
  1717.   end if
  1718. end mouseUp
  1719.  
  1720.  
  1721.  
  1722. -- part 82 (field)
  1723. -- low flags: 81
  1724. -- high flags: 2002
  1725. -- rect: left=65 top=45 right=333 bottom=339
  1726. -- title width / last selected line: 0
  1727. -- icon id / first selected line: 0 / 0
  1728. -- text alignment: 1
  1729. -- font id: 0
  1730. -- text size: 12
  1731. -- style flags: 0
  1732. -- line height: 16
  1733. -- part name: bonus
  1734. ----- HyperTalk script -----
  1735. on mouseup
  1736.   hide card field "Bonus"
  1737. end mouseup
  1738.  
  1739.  
  1740.  
  1741. -- part 90 (button)
  1742. -- low flags: 00
  1743. -- high flags: 8001
  1744. -- rect: left=346 top=171 right=183 bottom=507
  1745. -- title width / last selected line: 0
  1746. -- icon id / first selected line: 0 / 0
  1747. -- text alignment: 1
  1748. -- font id: 0
  1749. -- text size: 12
  1750. -- style flags: 0
  1751. -- line height: 16
  1752. -- part name: GAME OVER
  1753.  
  1754.  
  1755. -- part 95 (button)
  1756. -- low flags: 00
  1757. -- high flags: 2000
  1758. -- rect: left=0 top=0 right=17 bottom=512
  1759. -- title width / last selected line: 0
  1760. -- icon id / first selected line: 0 / 0
  1761. -- text alignment: 1
  1762. -- font id: 0
  1763. -- text size: 12
  1764. -- style flags: 0
  1765. -- line height: 16
  1766. -- part name: New Button
  1767. ----- HyperTalk script -----
  1768. on mouseUp
  1769.   show card field "About..."
  1770.   wait until the mouse is down
  1771.   wait until the mouse is up
  1772.   hide card field "About..."
  1773. end mouseUp
  1774.  
  1775.  
  1776.  
  1777. -- part 96 (button)
  1778. -- low flags: 00
  1779. -- high flags: 8000
  1780. -- rect: left=346 top=189 right=205 bottom=507
  1781. -- title width / last selected line: 0
  1782. -- icon id / first selected line: 0 / 0
  1783. -- text alignment: 1
  1784. -- font id: 0
  1785. -- text size: 12
  1786. -- style flags: 0
  1787. -- line height: 16
  1788. -- part name: 1 Round Game
  1789. ----- HyperTalk script -----
  1790. on mouseUp
  1791.   click at the loc of field 3
  1792. end mouseUp
  1793.  
  1794.  
  1795.  
  1796. -- part 48 (field)
  1797. -- low flags: 81
  1798. -- high flags: 2001
  1799. -- rect: left=0 top=0 right=342 bottom=512
  1800. -- title width / last selected line: 0
  1801. -- icon id / first selected line: 0 / 0
  1802. -- text alignment: 1
  1803. -- font id: 0
  1804. -- text size: 12
  1805. -- style flags: 8192
  1806. -- line height: 16
  1807. -- part name: ABOUT...
  1808. ----- HyperTalk script -----
  1809. ON MOUSEUP
  1810.   HIDE card field "ABOUT..."
  1811. END MOUSEUP
  1812.  
  1813.  
  1814. -- part contents for card part 48
  1815. ----- text -----
  1816.  
  1817.  
  1818. HYPER-YAHTZEE
  1819. 2nd December 1987...VERSION 3.0
  1820. A GAME BY IAN SUMMERFIELD
  1821. ¬© COPYRIGHT 1987
  1822.  
  1823. Hyper-Yahtzee is the traditional game of Yahtzee.  You play either 1 or 6 rounds of Yahtzee against the Macintosh, with the challenge of trying to get your name on the corresponding Top Ten High Scores and not forgetting to attempt to beati the Mac!
  1824.  
  1825. If you like Hyper-Yahtzee and want to encourage the development of similar stacks then I ask you to either pay for this stack or pass it on to a friend and delete your copy.  Support Stackware!  Send whatever you think it is worth to:
  1826.  
  1827. Ian Summerfield
  1828. 60 Tenby Drive
  1829. Luton, Bedfordshire
  1830. England, LU4 9BL
  1831.  
  1832. AppleFone Bulletin Board System for HyperCarders is on 0582 584134.
  1833.  
  1834.  
  1835.  
  1836.  
  1837. -- part contents for card part 82
  1838. ----- text -----
  1839.  
  1840. You cannot score on "Bonus".
  1841.  
  1842. A bonus of 35 points is given to you if you score 63 or above on the upper total.
  1843.  
  1844. One way to reach the required 63 points is to score 3 ones, 3 twos,
  1845. 3 threes, 3 fours, 3 fives and 3 sixes.
  1846.  
  1847.  
  1848. ******  Please click the mouse ******
  1849. ****** to resume play. ******
  1850.  
  1851. -- part contents for background part 21
  1852. ----- text -----
  1853. 1
  1854.  
  1855. -- part contents for background part 22
  1856. ----- text -----
  1857. 0
  1858.  
  1859. -- part contents for background part 23
  1860. ----- text -----
  1861. 0
  1862.  
  1863. -- part contents for background part 34
  1864. ----- text -----
  1865. 1
  1866.  
  1867. -- part contents for background part 41
  1868. ----- text -----
  1869. 1
  1870.  
  1871. -- part contents for background part 38
  1872. ----- text -----
  1873. 251
  1874. 238
  1875. 201
  1876. 198
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885. -- part contents for background part 35
  1886. ----- text -----
  1887. Ian Summerfield
  1888. The Macintosh!
  1889. The Macintosh!
  1890. The Macintosh!
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899. -- part contents for background part 17
  1900. ----- text -----
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. 0